package com.mindskip.gushuang.utility;

import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import javax.imageio.ImageIO;

public class ImageToInputStream {
    public static ByteArrayInputStream bufferImageToInputStream(BufferedImage image) {
        try {
            // 创建一个用于输出图片数据的内存流
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            
            // 写入图片到内存流
            ImageIO.write(image, "png", baos);
            
            // 重置内存流的位置，以便从头开始读取数据
            baos.reset();
            
            // 从内存流创建一个InputStream
            return new ByteArrayInputStream(baos.toByteArray());
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static void main(String[] args) {
        // 假设您已经有一个BufferedImage对象
        BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
        
        // 将BufferedImage转换为InputStream
        ByteArrayInputStream inputStream = bufferImageToInputStream(image);
        
        // 现在您可以使用这个InputStream来做您需要的操作
        // 例如，发送到网络或者保存到文件等
    }
}